package com.mingqijia.gassafety.db.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.mingqijia.gassafety.db.entity.annotation.OperateLogFiled;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 运行报告主表
 * </p>
 *
 * @Author: mby
 * @Date: 2024/3/11 09:30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_gss_running_report")
@ApiModel(value="RunningReport对象", description="运行报告表")
public class RunningReport implements Serializable {
    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @OperateLogFiled(name = "运行报告配置id")
    @ApiModelProperty(value = "运行报告配置id")
    @TableField("config_id")
    private Integer configId;

    @OperateLogFiled(name = "客户id")
    @ApiModelProperty(value = "客户id")
    @TableField("consumer_id")
    private Integer consumerId;

    @OperateLogFiled(name = "行业类型")
    @ApiModelProperty(value = "行业类型")
    @TableField("industry_type")
    private String industryType;

    @OperateLogFiled(name = "报告日期")
    @ApiModelProperty(value = "报告日期")
    @TableField("report_date")
    private String reportDate;

    @OperateLogFiled(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    @TableField("device_type")
    private String deviceType;

    @OperateLogFiled(name = "报警待处理次数")
    @ApiModelProperty(value = "报警待处理次数")
    @TableField("alarm_pending")
    private Integer alarmPending;

    @OperateLogFiled(name = "报警处理中次数")
    @ApiModelProperty(value = "报警处理中次数")
    @TableField("alarm_processing")
    private Integer alarmProcessing;

    @OperateLogFiled(name = "报警已处理次数")
    @ApiModelProperty(value = "报警已处理次数")
    @TableField("alarm_processed")
    private Integer alarmProcessed;

    @OperateLogFiled(name = "故障待处理次数")
    @ApiModelProperty(value = "故障待处理次数")
    @TableField("broken_pending")
    private Integer brokenPending;

    @OperateLogFiled(name = "故障处理中次数")
    @ApiModelProperty(value = "故障处理中次数")
    @TableField("broken_processing")
    private Integer brokenProcessing;

    @OperateLogFiled(name = "故障已处理次数")
    @ApiModelProperty(value = "故障已处理次数")
    @TableField("broken_processed")
    private Integer brokenProcessed;

    @OperateLogFiled(name = "离线时长，单位秒")
    @ApiModelProperty(value = "离线时长，单位秒")
    @TableField("offline_time")
    private Long offlineTime;

    @OperateLogFiled(name = "离线记录总数")
    @ApiModelProperty(value = "离线记录总数")
    @TableField("offline_total")
    private Integer offlineTotal;

    @OperateLogFiled(name = "报告内容 0-有报警，1-无报警,正常运行，2-有故障，3-有离线")
    @ApiModelProperty(value = "报告内容 0-有报警，1-无报警,正常运行，2-有故障，3-有离线")
    @TableField("report_content_type")
    private String reportContentType;

    @OperateLogFiled(name = "报告审核状态 0-待审核 1-已审核 2-无需审核")
    @ApiModelProperty(value = "报告审核状态 0-待审核 1-已审核 2-无需审核")
    @TableField("check_status")
    private Integer checkStatus;

    @OperateLogFiled(name = "报告更新状态 0-空 1-更新中 2-已更新")
    @ApiModelProperty(value = "报告更新状态 0-空 1-更新中 2-已更新")
    @TableField("update_status")
    private Integer updateStatus;

    @OperateLogFiled(name = "运行报告报警策略预览发送情况 0-未发送 1-已发送")
    @ApiModelProperty(value = "运行报告报警策略预览发送情况 0-未发送 1-已发送")
    @TableField("is_advance_send")
    private Integer isAdvanceSend;

    @OperateLogFiled(name = "运行报告报警策略发送情况 0-未发送 1-已发送")
    @ApiModelProperty(value = "运行报告报警策略发送情况 0-未发送 1-已发送")
    @TableField("is_send")
    private Integer isSend;

    @OperateLogFiled(name = "c端预览手机号")
    @ApiModelProperty(value = "c端预览手机号")
    @TableField("phone")
    private String phone;

    @OperateLogFiled(name = "c端预览设备号")
    @ApiModelProperty(value = "c端预览设备号")
    @TableField("imei")
    private String imei;

    @OperateLogFiled(name = "C端预览设备类型")
    @ApiModelProperty(value = "C端预览设备类型")
    @TableField("equipment_type")
    private String equipmentType;

    @OperateLogFiled(name = "是否删除 0-正常 1-删除")
    @ApiModelProperty(value = "是否删除 0-正常 1-删除")
    @TableField("is_deleted")
    private Boolean isDeleted;

    @OperateLogFiled(name = "创建时间")
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private Date createdAt;

    @OperateLogFiled(name = "更新时间")
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "updated_at")
    private Date updatedAt;

    @OperateLogFiled(name = "sp_id")
    @ApiModelProperty(value = "sp_id")
    @TableField("sp_id")
    private String spId;

}
